package info.wangyuan.agent.common.Enum;


import lombok.Getter;

/**
 * 模型API规范协议类型枚举
 * 统一管理项目中涉及的各种协议类型
 *
 * @author Albert
 * @since 2025-08-25 02:21:49
 */
@Getter
public enum ProtocolType {
    // ======== OpenAI协议标准 ========
    OpenAI("OpenAI", "OpenAI协议标准");

    private final String value;
    private final String label;

    ProtocolType(String value, String label) {
        this.value = value;
        this.label = label;
    }

    /** 根据数据库的 value 获取枚举 */
    public static ProtocolType fromValue(String value) {
        for (ProtocolType type : values()) {
            if (type.getValue().equals(value)) {
                return type;
            }
        }
        throw new IllegalArgumentException("未知的协议类型: " + value);
    }

    /** 直接拿到 label */
    public static String getLabelByValue(String value) {
        return fromValue(value).getLabel();
    }
}
